package com.clwl.supervise.superviseapp.entity.supervise;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 调查处理
 */
@Data
@TableName(value = "JG_INVESTIGATION")
//@KeySequence("JG_INVESTIGATION_SEQ")
public class JgInvestigation implements Serializable {

    @TableId(value = "ID", type = IdType.AUTO)
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    /**
     * 检查类型(1-日常检查;2-双随机检查；3-飞行检查；4-体系检查)
     */
    @TableField(value = "COMPANY_ID")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long companyId;

    /**
     * 根据检查类型关联检查单子ID
     */
    @TableField(value = "CHECK_ID")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long checkId;

    /**
     * 检查类型；1-日常检查；2-双随机检查；3-飞行检查；4-体系检查;5-动态评分;6-专项检查（上级下发的非计划）
     */
    @TableField(value = "CHECK_TYPE")
    private String checkType;

    /**
     * 处理状态1-待处理。2-已处理
     */
    @TableField(value = "CHECK_STATUS")
    private String checkStatus;

    /**
     * 处理结果1-立案。2-不立案
     */
    @TableField(value = "CHECK_RESULT")
    private String checkResult;

    /**
     * 调查人员ID
     */
    @TableField(value = "CHECK_PERSONNEL")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long checkPersonnel;

    /**
     * 核查人员名称
     */
    @TableField(value = "CHECK_PERSONNEL_NAME")
    private String checkPersonnelName;


    /**
     * 添加调查时间
     */
    @TableField(value = "INVESTIGATION_TIME")
    private String investigationTime;

    /**
     * 核查时间
     */
    @TableField(value = "CHECK_TIME")
    private String checkTime;


    /**
     * 创建时间（发件时间）
     */
    @TableField(value = "CREATE_TIME")
    private Date createTime;

    /**
     * 创建人id
     */
    @TableField(value = "CREATOR_ID")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long creatorId;

    /**
     * 创建人姓名
     */
    @TableField(value = "CREATOR_NAME")
    private String creatorName;

    /**
     * 修改时间
     */
    @TableField(value = "UPDATE_TIME")
    private Date updateTime;

    /**
     * 修改人id
     */
    @TableField(value = "UPDATE_USER_ID")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long updateUserId;

    /**
     * 修改人姓名
     */
    @TableField(value = "UPDATE_USER_NAME")
    private String updateUserName;

    /**
     * 删除时间
     */
    @TableField(value = "DELETE_TIME")
    private Date deleteTime;

    /**
     * 删除人id
     */
    @TableField(value = "DELETE_USER_ID")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long deleteUserId;

    /**
     * 删除人姓名
     */
    @TableField(value = "DELETE_NAME")
    @JsonSerialize(using = ToStringSerializer.class)
    private String deleteName;

    /**
     * 是否删除
     */
    @TableField(value = "DELETE_FLAG")
    private Long deleteFlag;

    /**
     * 决定书保存地址
     */
    @TableField(value = "DECISION_LETTER_URL")
    private String decisionLetterUrl;

    /**
     * 立案审批表
     */
    @TableField(value = "FILING_APPROVAL_URL")
    private String filingApprovalUrl;


    /**
     * 不予立案审批表地址
     */
    @TableField(value = "NOT_FILING_APPROVAL_URL")
    private String notFilingApprovalUrl;


    /**
     * 不予立案理由
     */
    @TableField(value = "NOT_FILING_CASE")
    private String notFilingCase;


    /**
     *予立案理由情况说明文件地址
     */
    @TableField(value = "NOT_FILING_DESCRIPTION")
    private String notFilingDescription;


    /**
     * 问题项内容
     */
    @TableField(exist = false)
    private List<JgInvestigationContent> investigationContentList;







    private static final long serialVersionUID = 1L;
}
